<template>


  <SearchTablePage :search-config="baseTableSearchModel" :table-config="baseTableModel" />

</template>

<script lang="tsx" setup>
defineOptions({
  name: 'StoreInfoInspectionRecordsPageData',   //全局别名
  title: '表格页',   //标题
});
// 接口
import StoreInfoInspectionRecordsApi from '/@/api//StoreInfoInspectionRecordsApi.ts';
import StoreInfoApi from '~/src/api/webPath/StoreInfoApi';
// import { useTemplateName } from '~/src/utils/useTemplateName';
import FORM_FIELD_TYPE from '/@/constants/FormFieldType';
import VDialog from '/@/utils/dialogUtil.ts'
import { useTemplateName } from '~/src/utils/useTemplateName';
const router = useRouter();
const baseTable = ref(null as any);
const baseTableSearch = ref(null as any);
const editRef = ref<any>(null);

const storeType = ref()
const exportXlsName = useTemplateName("template_type_8")

const storeList = ref()
onMounted(async () => {
  // TODO 更换为全量获取仓库列表
  const data = (await StoreInfoApi.getPageData({})).data
  console.log("data:", data)
  storeList.value = data.records.map(item => ({ label: item.storeName, value: item.storeName }))
  console.log("supplierTypeList", storeList.value)
  // data.map(x=>{label:data})
})
// const exportXlsName = useTemplateName("template_type_2")
// 表格搜索初始化searchModel
const baseTableSearchModel = ref({
  columnCount: 4,
  expandLimit: 6,
  autoFit: true,
  columnWidth: '320px',
  labelPosition: 'right',
  labelWidth: '100px',
  items: [ //搜索项初始化
    {
      label: "仓库类型",
      field: "storeType",
      clearable: true,
      type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
      options: storeList,

      placeholder: "请输入",
    },
    // {
    //             label: "主键",
    //             field: "id",
    //             clearable: true,
    //             type: FORM_FIELD_TYPE.INPUT,

    //            placeholder:"请输入",

    //         },

    // {
    //   label: "入库日期",
    //   field: "enterDate",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.DATE,
    //   placeholder: "请输入",

    //   config: {
    //     props: {   //日期精度配置
    //       type: "daterange",
    //       startPlaceholder: "开始日期",
    //       endPlaceholder: "结束日期",
    //       format: "YYYY-MM-DD",
    //     }
    //   },
    // },

    // {
    //             label: "物料ID",
    //             field: "materialId",
    //             clearable: true,
    //             type: FORM_FIELD_TYPE.INPUT,

    //            placeholder:"请输入",

    //         },

    // {
    //   label: "物料编码",
    //   field: "materialCode",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    {
      label: "物料名称",
      field: "materialName",
      clearable: true,
      type: FORM_FIELD_TYPE.INPUT,

      placeholder: "请输入",

    },

    // {
    //   label: "规格",
    //   field: "materialSpc",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //   label: "入库数量",
    //   field: "num",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //   label: "生产日期",
    //   field: "produceDate",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.DATE,
    //   placeholder: "请输入",

    //   config: {
    //     props: {   //日期精度配置
    //       type: "daterange",
    //       startPlaceholder: "开始日期",
    //       endPlaceholder: "结束日期",
    //       format: "YYYY-MM-DD",
    //     }
    //   },
    // },

    // {
    //   label: "质保期",
    //   field: "warrantyPeriod",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //             label: "供应商ID",
    //             field: "supplierId",
    //             clearable: true,
    //             type: FORM_FIELD_TYPE.INPUT,

    //            placeholder:"请输入",

    //         },

    {
      label: "供应商名称",
      field: "supplierName",
      clearable: true,
      type: FORM_FIELD_TYPE.INPUT,

      placeholder: "请输入",

    },

    // {
    //   label: "供应商地址",
    //   field: "supplierAdd",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //   label: "是否拥有证书",
    //   field: "isCertificate",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   // options: [
    //   //   {
    //   //     value: '0',
    //   //     label: "否"
    //   //   },
    //   //   {
    //   //     value: '1',
    //   //     label: "是"
    //   //   }
    //   // ],
    //   placeholder: "请输入",

    // },

    // {
    //   label: "是否拥有购货凭证",
    //   field: "isVoucher",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '0',
    //       label: "否"
    //     },
    //     {
    //       value: '1',
    //       label: "是"
    //     }
    //   ],

    //   placeholder: "请输入",

    // },

    // {
    //   label: "是否拥有检疫合格证明",
    //   field: "isQuarantine",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '0',
    //       label: "否"
    //     },
    //     {
    //       value: '1',
    //       label: "是"
    //     }
    //   ],

    //   placeholder: "请输入",

    // },

    // {
    //   label: "是否肉品质检合格证",
    //   field: "isQualityCertificate",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '0',
    //       label: "否"
    //     },
    //     {
    //       value: '1',
    //       label: "是"
    //     }
    //   ],

    //   placeholder: "请输入",

    // },

    // {
    //   label: "是否拥有检测报告",
    //   field: "isQualityReport",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '否',
    //       label: "否"
    //     },
    //     {
    //       value: '是',
    //       label: "是"
    //     }
    //   ],

    //   placeholder: "请输入",

    // },

    // {
    //   label: "是否拥有合格证",
    //   field: "isPass",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '否',
    //       label: "否"
    //     },
    //     {
    //       value: '是',
    //       label: "是"
    //     }
    //   ],


    //   placeholder: "请输入",

    // },

    // {
    //   label: "外观检查",
    //   field: "isAppearance",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '符合',
    //       label: "符合"
    //     },
    //     {
    //       value: '不符合',
    //       label: "不符合"
    //     }
    //   ],

    //   placeholder: "请输入",

    // },

    // {
    //   label: "温度检查",
    //   field: "isTemperature",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.SINGLE_LAYER_SELECT,
    //   options: [
    //     {
    //       value: '符合',
    //       label: "符合"
    //     },
    //     {
    //       value: '不符合',
    //       label: "不符合"
    //     }
    //   ],

    //   placeholder: "请输入",

    // },

    // {
    //             label: "排序",
    //             field: "sort",
    //             clearable: true,
    //             type: FORM_FIELD_TYPE.INPUT,

    //            placeholder:"请输入",

    //         },

    // {
    //             label: "所属公司ID",
    //             field: "companyId",
    //             clearable: true,
    //             type: FORM_FIELD_TYPE.INPUT,

    //            placeholder:"请输入",

    //         },

    // {
    //   label: "创建人",
    //   field: "creator",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //             label: "修改人",
    //             field: "reviser",
    //             clearable: true,
    //             type: FORM_FIELD_TYPE.INPUT,

    //            placeholder:"请输入",

    //         },

    // {
    //   label: "样品名称",
    //   field: "sampleName",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //   label: "样品批次",
    //   field: "sampleBatch",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //   label: "报告日期",
    //   field: "sampleDate",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.DATE_RANGE,
    //   placeholder: "请输入",

    //   config: {
    //     props: {   //日期精度配置
    //       type: "daterange",
    //       startPlaceholder: "开始日期",
    //       endPlaceholder: "结束日期",
    //       format: "YYYY-MM-DD",
    //     }
    //   },
    // },

    // {
    //   label: "报告链接",
    //   field: "sampleUrl",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.INPUT,

    //   placeholder: "请输入",

    // },

    // {
    //   label: "创建时间",
    //   field: "create_time",
    //   clearable: true,
    //   type: FORM_FIELD_TYPE.DATE_RANGE,
    //   placeholder: "请输入",

    //   config: {
    //     props: {   //日期精度配置
    //       type: "daterange",
    //       startPlaceholder: "开始日期",
    //       endPlaceholder: "结束日期",
    //       format: "YYYY-MM-DD",
    //     }
    //   },
    // },

  ],

  buttons: [    //功能区域
    // {
    //   name: "导出1",
    //   buttonClass: 'primary',
    //   width: 100,
    //   click: ({ row, handlers }) => {   //暴露的方法钩子
    //     StoreInfoInspectionRecordsApi.pageDataXls(handlers.getRequestParams(), handlers.getXlsTitle())
    //   }
    // },
    {
      name: "导出",
      buttonClass: 'primary',
      width: 100,
      click: ({ row, handlers }) => {        // 点击回调事件方法钩子，  点击触发

        VDialog.open({
          title: '导出',

          content: { //内容初始形式
            type: 'component', //text:"",预留文本
            name: '/storeInfoInspectionRecords/daochu',
            query: {},

          },

          callBack: (data: any) => {
            storeType.value = data.supplierType;
            StoreInfoInspectionRecordsApi.pageDataXls(handlers.getRequestParams(), handlers.getXlsTitle(), exportXlsName.value, storeType.value)
            handlers.refresh()
          },
          onClose: () => {
            console.log("对话框已关闭");
          },
        });

      },
    },
    // {
    //   name: "新增",
    //   buttonClass: 'primary',
    //   width: 100,
    //   click: ({ row, handlers }) => {        // 点击回调事件方法钩子，  点击触发

    //     VDialog.open({
    //       title: '新增',

    //       content: { //内容初始形式
    //         type: 'component', //text:"",预留文本
    //         name: '/storeInfoInspectionRecords/edit',
    //         query: {},

    //       },

    //       callBack: (data: any) => {
    //         handlers.refresh()
    //       },
    //       onClose: () => {
    //         console.log("对话框已关闭");
    //       },
    //     });

    //   },
    // },
    {
      name: "批量删除",
      buttonClass: 'danger',
      width: 100,
      isShow: (row: any) => {
        return false;
      },
      click: () => {   //暴露的方法钩子
        console.log(baseTable.value.getSelection());
      },
    },
  ]
})


// 表格初始化Model
const baseTableModel = ref({
  border: true,
  pagination: true,
  inline: true,
  selectable: true,
  isFullscreen: false,
  tooltip: true,
  minWidth: '200px',
  data: {    //table  初始化
    current: 1,
    size: 10,
    total: 100,
    data: []
  },
  requestData: { api: StoreInfoInspectionRecordsApi.getPageData, query: {} },   //数据源 参数有效性： 'steady|transient'
  columns: [
    //  {
    //   label: "主键",
    //   field: "id",
    //   width:100,
    //     },
    // {
    //   label: "仓库",
    //   field: "storeId",
    //   render({ row }) {
    //     console.log('row', row)
    //     console.log("storeList", storeList.value)
    //     const store = storeList.value.find(x => {
    //       console.log("x value", x.value, "storeId", row["storeId"])
    //       return x.value === row["storeId"]
    //     })
    //     console.log("store", store)
    //     return <span>{store["label"]}</span>
    //   },
    //   width: 180,
    // },
    {
      label: "供应商名称",
      field: "supplierName",
      width: 180,
    },
    {
      label: "供应商营业执照统一社会信用代码",
      field: "creditCode",
      width: 240,
    },
    {
      label: "供应商类型",
      field: "supplierType",
      width: 180,
    },
    {
      label: "仓库类型",
      field: "storeType",
      width: 180,
    },
    {
      label: "物料编号",
      field: "materialCode",
      width: 180,
    },
    {
      label: "物料大类",
      field: "largeCategory",
      width: 180,
    },
    {
      label: "物料亚类",
      field: "middleCategory",
      width: 180,
    },
    {
      label: "物料细类",
      field: "smallCategory",
      width: 180,
    },
    {
      label: "物料名称",
      field: "materialName",
      width: 180,
    },
    {
      label: "物料规格",
      field: "materialSpc",
      width: 180,
    },
    {
      label: "物料生产日期",
      field: "produceDate",
      width: 200,
      fieldFormat: "date"
    },
    {
      label: "物料保质期",
      field: "warrantyPeriod",
      width: 200,
      fieldFormat: "date"
    },
    {
      label: "入库日期",
      field: "enterDate",
      width: 200,
      fieldFormat: "date"
    },
    {
      label: "入库数量",
      field: "num",
      width: 120,
    },
    {
      label: "入库单位",
      field: "numUnit",
      width: 150,
    },
    {
      label: "查验营业执照",
      field: "isBusinessLicense",
      width: 150,
      // noExported: true,
    },

    {
      label: "查验食品经营许可证",
      field: "isOperationLicense",
      width: 160,
    },
    // {
    //   label: "物料编码",
    //   field: "materialCode",
    //   width: 180,
    // },



    // {
    //   label: "生产日期",
    //   field: "produceDate",
    //   width: 200,
    //   fieldFormat: 'date'
    // },
    // {
    //   label: "质保期",
    //   field: "warrantyPeriod",
    //   width: 180,
    // },
    //  {
    //   label: "供应商ID",
    //   field: "supplierId",
    //   width:150,
    //     },
    {
      label: "查验食品生产许可证",
      field: "isProductLicense",
      width: 230,
      // fieldFormat: 'tag'
    },
    {
      label: "查验购货凭证",
      field: "isVoucher",
      width: 180,
      // fieldFormat: 'tag'
    },
    {
      label: "查验动物检疫合格证明",
      field: "isQuarantine",
      width: 180,
      // fieldFormat: 'tag'
    },
    {
      label: "查验肉品品质检验合格证",
      field: "isQualityCertificate",
      width: 180,
      // fieldFormat: 'tag'
    },
    {
      label: "查验该批产品检测报告（出厂检验报告）",
      field: "isQualityReport",
      width: 260,
      // fieldFormat: 'tag'
    },
    {
      label: "查验该批产品检测报告（农兽残检测报告）",
      field: "isQualityReport2",
      width: 260,
      // fieldFormat: 'tag'
    },
    {
      label: "查验合格证",
      field: "isPass",
      width: 180,
      // fieldFormat: 'tag'
    },
    {
      label: "查验外观",
      field: "isAppearance",
      width: 180,
      // fieldFormat: 'tag'
    },
    {
      label: "查验温度",
      field: "isTemperature",
      width: 180,
      // fieldFormat: 'tag'
    },
    //  {
    //   label: "所属公司ID",
    //   field: "companyId",
    //   width:150,
    //     },
    // {
    //   label: "样品名称",
    //   field: "sampleName",
    //   width: 180,
    //   noExported: true,
    // },
    // {
    //   label: "样品批次",
    //   field: "sampleBatch",
    //   width: 180,
    //   noExported: true,
    // },
    // {
    //   label: "报告日期",
    //   field: "sampleDate",
    //   width: 200,
    //   noExported: true,
    // },
    // {
    //   label: "报告链接",
    //   field: "reportUrl",
    //   width: 180,
    //   // noExported: true,
    //   fieldFormat: "file"
    // },

    {
      label: "创建时间",
      field: "create_time",
      width: 200,
    },
    {
      label: "更新时间",
      field: "update_time",
      width: 200,
    },
  ],


  actions: [
    {
      name: "详情",

      buttonClass: 'primary',
      buttonType: 'text',
      click: ({ row, index, handlers }) => {

        //router.push({name: 'CompanyInfoDetail',})
        VDialog.open({
          title: '详情',
          content: { //内容初始形式
            type: 'component', //text:"",预留文本
            name: '/storeInfoInspectionRecords/detail',
            query: { storeInfoInspectionRecordsId: row.id },

          },
          callBack: (data: any) => {
            handlers.refresh()
          },
          onClose: () => {
            console.log("对话框已关闭");
          },
        });
      },
      isShow: (row: object) => {
        return true;
      },
      fixed: 'right'
    },
    // {
    //   name: "编辑",
    //   buttonClass: 'primary',   //按钮颜色控制
    //   buttonType: 'text',      // 按钮风格   text  link  button
    //   isShow: (row: object) => {  //根据业务做动态隐藏张氏
    //     return true
    //   },
    //   click: ({ row, index, handlers }) => {        // 点击回调事件方法钩子，  点击触发

    //     VDialog.open({
    //       title: '编辑',
    //       content: { //内容初始形式
    //         type: 'component', //text:"",预留文本
    //         name: '/storeInfoInspectionRecords/edit',
    //         query: { storeInfoInspectionRecordsId: row.id },

    //       },

    //       callBack: (data: any) => {
    //         handlers.refresh()
    //       },
    //       onClose: () => {
    //         console.log("对话框已关闭");
    //       },
    //     });

    //   },
    //   fixed: 'right'
    // },

    {
      name: "删除",
      buttonClass: 'danger',
      buttonType: 'text',
      fixed: 'right',
      click: ({ row, index, handlers }) => {

        $baseConfirm('您确定要删除当前项吗', null, async () => {

          const { message } = await StoreInfoInspectionRecordsApi.del({ storeInfoInspectionRecordsIds: row.id })
          $baseMessage(message, 'success', 'vab-hey-message-success');

          handlers.refresh()

        })

      }
    },

  ]

})



onActivated(() => {
})



</script>
